查看原文
其他

一文看懂最火的AutoGPT、HuggingGPT、Visual ChatGPT到底是什么逻辑?

李秉宇 AIhackathon 2023-12-23



 我创建了AI交流群,里面会实时分享AI最新有用的信息,群里信息密度和新鲜度非常高,交流氛围也很好,欢迎感兴趣的朋友可以后台回复关键词【微信】,扫码入群。
我们在前面说ChatGPT改变了用户与应用交互的核心逻辑,从点触逻辑到自然语言逻辑用户使用自然语言输入,ChatGPT把自然语言结构化后输入给应用,应用解决用户的需求,然后应用返回结构化数据给ChatGPT,ChatGPT把结构化数据用更自然的方式输出给用户。
整个流程里ChatGPT充当了一个大脑的角色。它理解用户的自然语言需求,它将需求拆解为多个有顺序的目标任务,它把任务分配给对应的应用(叫工具、Agent都行)去执行,它把所有应用执行的结果总结起来解决用户需求,并通过更自然的方式告诉用户。这个逻辑跟ReAct的逻辑非常类似。
在这个逻辑里,假设大模型的自然语言理解能力可以达到100%的准确,那么精准调用应用就可以解决用户的需求了。应用足够丰富的情况下,任何复杂的任务都可以在这个逻辑里解决,就可以无限扩大大模型的能力边界。
以上就是:大模型即大脑的逻辑。
接下来我们用大模型即大脑的逻辑,对最近流行的项目做一个拆解。不同项目的主要差别在于Prompt的逻辑以及调用应用的范围不一样,这里的应用叫工具、agent都行,主要包含Visual ChatGPT、HuggingGPT、Toolformer、AutoGPT等。



01


Visual ChatGPT[1]微软亚洲研究院


Visual ChatGPT是最简单的一种大模型即大脑的项目,Visual ChatGPT调用的应用围仅限于各种视觉基础模型(Visual Foundation Models)。这种形态的项目,虽然能力边界小,但是大模型LLM的负担是最轻的,每一个步骤以及流程是更加的可控。未来各种垂直领域的产品,这种形态应该更为常见。
根据论文提供的架构图[1],这个系统是利用ChatGPT和Prompt Manager(简称M)来做自然语言理解和用户意图识别,然后决定调用哪些应用来解决问题。
题外话PM除了Product Manager以外多了一个定义Prompt Manager。
上图描述了一个3轮对话:
第一轮对话:逻辑简单,大模型直接处理(左上)。(1) 用户Q1输入一张图片(2) 大模型回答A1收到。

第二轮对话:处理逻辑比较复杂,大模型需要调用应用来解决(左中、中间列、右边列)。
(1)用户Q2输入了“replace the sofa in this image with a desk and then make it like a water-color painting” M+ChatGPT理解到“沙发改为桌子”和“把画风改为水彩画”两个要求。
(2) M+ChatGPT 把需求拆解为两个任务,“沙发改为桌子”和“把画风改为水彩画”,并排序了这两个任务。
(3) M+ChatGPT理解到第一个任务是“沙发改为桌子”,需要分配给(Visual Foundation Models,VFM)因此系统调用VFM的替换东西功能(Replace Something From The Photo),生成了符合第一个任务的图。
(3) M+ChatGPT理解到第二个任务是“把画风改为水彩画”,需要分配给(Visual Foundation Models,VFM)因此系统调用VFM的通过语言修改图片功能(Instruct Image Using Text),生成了符合第二个任务的图。(4)M+ChatGPT理解到两个任务已经完成了,总结出最后这张图就是用户想要的图片,生成了一个中间回答(Intermediate Answer)因为还有第三轮问答,如果没有就是最终回答。
第三轮对话:比第二轮对话简答,大模型也需要调用应用来解决(左下)。

(1) 用户提出Q3图中的墙是什么颜色的?
(2) M+ChatGPT理解不需要调用VFM,只需要调用视觉问题回答功能(visual question answering)VQA回答问题得到答案A3图片中的墙是蓝色的。



02


HuggingGPT[2]

浙江大学,微软研究院亚洲


图1说明:自然语言作为大模型LLM的接口(例如,ChatGPT)连接众多人工智能模型(例如,Hugging Face中的模型),以解决复杂的人工智能任务。在这个概念中,一个LLM作为一个控制器,管理和组织专家模型的合作。大模型LLM首先根据用户请求计划任务列表,然后为每个任务分配专家模型。专家执行任务后,大模型LLM收集结果并对用户作出响应。

HuggingGPT能调用的应用范围是huggingface社区的所有模型(包括但不仅限于文生图、图生文、语音转文字、文字合成语音等),从而让大模型LLM能驱动其他智能Agent,实现多模态能力。
HuggingGPT将大模型即大脑的整个过程分为为4步[2]:
  1. 任务规划:利用ChatGPT理解用户的意图,并分解成可能解决的计划任务。
  2. 模型选择:ChatGPT 根据托管在Hugging Face 上的模型模型描述,给模型分配计划任务( 跟ChatGPT的插件是一个逻辑,ChatGPT也是根据插件的描述来选择插件)
  3. 任务执行:调用并执行每个选定的模型,并将预测(结果)返回给ChatGPT。
  4. 生成结果:最后,使用ChatGPT总结所有模型的结果,为用户生成答案。


上图描述了一个多模态的对话:
Q:你能描述一下这幅画吗?数数这幅画里有多少个对象? + 【图片】A:一段文字可以描述给定的图片:一群长颈鹿和斑马正在草地上吃草。此外,检测到了五个对象,得分分别为长颈鹿99.9%,斑马99.7%,斑马99.9%,长颈鹿97.1%,斑马99.8%。上方的图片显示了边界框。我对这张图片进行了图像分类、目标检测和图像描述,是结合nlpconnet/vit-gpt2-imagecaptioning、facebook/detr-resnet-101和google/vit模型的预测结果输出的。+ 【图片,放大看图片里面框出了不同的动物】



03


Toolformer[3]

Meta人工智能研究院



Toolformer的论文说[3],大语言模型(LLMs)展示出了令人瞩目的能力,仅凭几个示例或文本指令就能解决新任务。然而,令人矛盾的是,它们在基本功能上却往往表现不佳,比如算术运算或事实查找,而更简单、更小的模型则擅长这些。在Toolformer的论文中,展示了LLMs可以通过简单的API来自我学习使用外部工具,并取得最佳效果。
Toolformer的主要思路是希望训练一个模型,用于决定调用哪些API、何时调用它们、传递什么参数,并且如何最佳地将结果融入到token的生成中。
所以Toolformer调用的范围是外部工具。
上图演示了Toolforme自主地决定调用不同的API(从上到下依次为:问答系统、计算器、机器翻译系统和Wikipedia搜索引擎)来获取对完成一篇文章有用的信息。这个工作实际上也为后续的AutoGPT和BabyAGI等项目提供了灵感。



04


AutoGPT[4]


AutoGPT是在【理解 - 拆解任务 - 分配任务 - 总结输出】之上再通过大模型LLM反思,并且重新拆解任务从而迭代,自动auto效果。从用户看到的现形式上来看,整个系统不断自动进行,已经出现了自我思考自我迭代的过程。
先写到这里,后面再补充一篇。
欢迎大家:

关注点赞在看转发




参考文献:

[1]https://arxiv.org/pdf/2303.04671.pdf

Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models

Chenfei Wu Shengming Yin Weizhen Qi Xiaodong Wang Zecheng Tang Nan Duan

Microsoft Research Asia


[2]https://arxiv.org/pdf/2303.17580.pdf

HuggingGPT: Solving AI Tasks with ChatGPT and its

Friends in Hugging Face

Yongliang Shen1,2∗ , Kaitao Song2∗ , Xu Tan2 , Dongsheng Li2 , Weiming Lu1 , Yueting Zhuang1

Zhejiang University1 , Microsoft Research Asia2



[3]https://arxiv.org/pdf/2302.04761.pdf

Toolformer: Language Models Can Teach Themselves to Use Tools

Timo Schick Jane Dwivedi-Yu Roberto Dessì† Roberta Raileanu Maria Lomeli Luke Zettlemoyer Nicola Cancedda Thomas Scialom

Meta AI Research †Universitat Pompeu Fabra



[4]https://github.com/Significant-Gravitas/Auto-GPT

Auto-GPT is an experimental open-source application showcasing the capabilities of the GPT-4 language model. This program, driven by GPT-4, chains together LLM "thoughts", to autonomously achieve whatever goal you set. As one of the first examples of GPT-4 running fully autonomously, Auto-GPT pushes the boundaries of what is possible with AI.

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存